Skip to main content
  1. posts/

The Talk That Almost Didn't Happen

How a broken dongle and unexpected closing keynote can teach you a lesson on letting go #

I arrived at Heapcon 2024 with a simple plan: do your talk first (I was scheduled to go early on day one), and use the rest of the conference to network and meet as many people as possible. My algorithm for the conference was uncomplicated:

talk > coffee > hang out

It’s supposed to be a chill, two-day break from my daily routine.

However, as soon as I stepped into the speaker’s dinner, my plan was ruined. One of the first people I met there was Ziyang, who casually said, “So you’re the one doing the closing keynote?”

“CLOSING KEYNOTE? What closing keynote?” I almost screamed.

Obviously, he didn’t know I was supposed to speak at the beginning of the conference. Oh, how wrong I was.

Soon, I learned that my talk had been moved to the last slot of the conference. What was quite a shock for me was the convenient solution for organizers. The original keynote speaker couldn’t make it, so they honored me instead. Apparently, when you’re friends with conference organizers, surprises like this happen.

By the end of the evening, I realized my original algorithm was broken. Suddenly, I wasn’t just a speaker; I was the speaker. My chill two-day getaway turned into a 48-hour panic countdown.

Waiting, watching, worrying #

Being an introverted programmer, I needed a lot of mental gymnastics to convince myself it’s okay to be on the stage. The notion that I will be one of the speakers that people might or might not listen to was something I accepted. Now, all of a sudden, I should be the speaker everyone will see, which made me quite nervous.

I had two full days to sit in the audience and watch one excellent speaker after another-Jelena, Sohan, Georgios, Dušan, Nicolas, and many others. Each talk raised the bar higher than the previous. Every applause made me feel a little smaller. I kept thinking, “Lucky them. They’ve all done. I still have to go.”

By the time the last afternoon rolled in, I wasn’t listening anymore. I was rehearsing slides in my head, hoping nothing would go wrong.

Yes, everything went wrong anyway #

So, there I was, quite anxious and worried about my performance, pacing backstage, when I heard there were only ten minutes before my talk. I closed my eyes and said: “Here we go.”

It was time to connect my laptop to the main screen and do a final tech check. We connected my MacBook Pro to the projector extender, but nothing happened. The screen was black.

I didn’t realize something was wrong until four technicians rushed to help, trying cables, adapters, and what might as well have been magic spells. The screen was still black. We tried another dongle, but we still got nothing. My laptop showed that the signal was there, but it wasn’t sending enough power to the extender.

At that point, the problem was beyond my ability to solve, so I decided to step aside, take a deep breath, and visit the restroom to refresh myself, convincing myself that it was the peak of my stress.

But, it wasn’t.

After a few minutes, when I returned backstage, I noticed the auditorium was packed. The program on the second stage ended, so everyone naturally poured into the main hall, not necessarily to hear me, but to join for the raffle, giveaways, and closing ceremony right after my talk.

I was standing there, paralyzed. The hall was filled, my connector was dead and the clock showed five minutes past my starting time.

A speaker, four technicians, and a dead HDMI signal #

A voice brought me back from my limbo. A technician asked if I could give him my slides on a USB stick. That would have been a great solution, except my presentation was built with a new Markdown-to-slides app I wanted to test: Sli.dev, which lived only inside the app. It ran perfectly on my machine, but nowhere else at that moment.

My biggest mistake was not publishing it on GitHub Pages. If I had, I could’ve opened it in a browser on any computer. Unfortunately, it was held hostage on my laptop.

Another technician found several different dongles and tried them out - first, second, … fifth. Suddenly, on the sixth attempt, it miraculously worked. The screen lit up, and blackness disappeared on stage and in my head.

From shy to shine #

Ultimately, we were ten minutes late, but the audience didn’t mind. They used these last moments of the conference to talk and catch up with one another.

Finally, when the moderator introduced me, I took a deep breath and walked up, like I’m doing this sort of thing every day. As soon as I started talking, I felt the pressure melt away-not because I was calm, but because my brain switched to autopilot. I knew my presentation by heart (all this practice paid off), so it was easy. I told my story and shared “Challenges of cross-language library translation” as if it were just another performance for me.

Of course, the talk didn’t go perfectly. My voice was still shaking occasionally, and I missed telling some jokes I wanted to because I was afraid to improvise. And I forgot to say a few interesting details I remembered later that I could share. But I made it! I reached the end without fainting.

As soon as I reached the “Thank you” slide and heard the applause, I was relieved. At that moment, I realized I had survived a developer’s version of live debugging on stage. And somehow, I made it.

What I learned from a broken dongle #

That was quite a day for me. Later that evening, when the adrenaline vanished, I realized something important: no matter how prepared you are, you can’t control everything.

I had prepared my content, practiced my timing, and tested everything I could, but the real challenge wasn’t the topic; it was control:

  • I couldn’t control the agenda reshuffle.
  • I couldn’t control the broken dongle.
  • I couldn’t control the crowd who wanted to be in the prize drawing.

All I could do was show up and do my best.

I came to Heapcon to give a talk about a lesson, and I left learning another one. I learned about control, chaos, and how the best talks aren’t always the ones you planned but the ones that happen.

My takeaways #

Alex at Heapcon

If you speak at conferences (or build software), you know chaos is part of the deal. You can prepare, test, and plan, but at some point, the HDMI will fail, the demo will crash, or the schedule will shift.

That’s not failure. That’s normal.

So here’s what I took from Heapcon 2024:

  • Control is an illusion. Things will go wrong. Keeping calm is a fundamental skill, so make sure to learn it.
  • The show must go on. Even when you’re ten minutes late and your heart is racing.
  • Always have a Plan B (and a USB stick). Because you’ll need it eventually.

Would I prefer everything to work smoothly next time? Absolutely.

But if it doesn’t, I know now that I can still adjust my algorithm, stand there, breathe, and deliver.